/**
 * 判断用户是否登录
 */
function isLogin() {
  return async function (ctx, next) {
    // 如果用户没有登录
    if (!ctx.session.user) {
      let currentUrl = ctx.url
      //  这里要对/转译
      // 使用 encodeURIComponent() 函数可以将字符串作为URI组件进行编码。比如对 /、；、？、@...等编译成16进制字符
      // 重定向后的url为 /signin?url=currentUrl
      let redirectUrl = `/signin?url=${encodeURIComponent(currentUrl)}`

      ctx.redirect(redirectUrl)
      return
    }
    // console.log(ctx.session.user)
    // 已登录
    await next()
  }
}

module.exports = {
  isLogin
}
